<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>

    /* 
    若 a 小于 b，在排序后的数组中 a 应该出现在 b 之前，则返回一个小于 0 的值。
    若 a 等于 b，则返回 0。
    若 a 大于 b，则返回一个大于 0 的值。

    返回 大于 0 和返回 小于 0 的数可以影响到排序
    */

    //  简单数组排序
    const arr = [11, 222, 33, 66, 111, 9];
    arr.sort((a, b) => a - b);
    console.log(arr);

    // 数组里是对象
    const salarys = [
      { name: '小明', short: 'xm', salary: 11000 },
      { name: '大明', short: 'dm', salary: 8000 },
      { name: '二明', short: 'em', salary: 7000 },
      { name: '小红', short: 'xh', salary: 9000 },
      { name: '阿明', short: 'am', salary: 19000 },
    ];


    // 纯数字可以相减即可得到大于 0 或小于 0 的数字
    // salarys.sort((a, b) => a.salary - b.salary);
    // 但是：非纯数字相减会得到 NaN，所以改成 三元写法通用性更高
    // salarys.sort((a, b) => a.salary > b.salary ? 1 : -1);
    salarys.sort((a, b) => a.short > b.short ? 1 : -1);

    console.log(salarys);


  </script>
</body>

</html>